SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

CREATE Procedure [dbo].[OF_TMUSUA_U02]
/*------------------------------------------------------*/
/*---- Empresa           : OFISIS S.A.              ----*/ 
/*---- Cliente           : OFISIS S.A.              ----*/
/*---- Sistema           : Seguridad                ----*/
/*---- Módulo            : Seguridad                ----*/
/*---- Programa          : Desactivar/Eliminar      ----*/
/*----         	           Usuarios por Inactividad ----*/
/*---- Script            : TMUSUA                   ----*/
/*---- Nombre SP         : OF_TMUSUA_U02            ----*/
/*---- Desarrollado por  : Hedda Laguna E.          ----*/
/*---- Fecha Creación    : 23/12/2005               ----*/
/*---- Base de Datos     : SQL                      ----*/
/*---- Versión           : 2000                     ----*/
/*---- Invoca a SP       :                          ----*/
/*------------------------------------------------------*/
/*------------------------------------------------------*/
/*---- Modificado 1 por     : 		            ----*/
/*---- Fecha Modificación   :		            ----*/    
/*---- Detalle Modificación : 		            ----*/  
/*----                                              ----*/
/*------------------------------------------------------*/
/*---- Modificado 2 por     : 		            ----*/
/*---- Fecha Modificación   :		            ----*/    
/*---- Detalle Modificación : 		            ----*/  
/*----                                              ----*/
/*------------------------------------------------------*/
/*---- Modificado 3 por     : 		            ----*/
/*---- Fecha Modificación   :		            ----*/    
/*---- Detalle Modificación : 		            ----*/  
/*----                                              ----*/
/*------------------------------------------------------*/
/*---- Comentarios:                                 ----*/
/*----                                              ----*/
/*----                                              ----*/
/*------------------------------------------------------*/
/*------------------------------------------------------*/
/*---- Drop Procedure OF_TMUSUA_U02                 ----*/
/*---- Grant All On OF_TMUSUA_U02 to Public         ----*/
/*---- Exec OF_TMUSUA_U02                           ----*/
/*------------------------------------------------------*/
@ISST_DESA_INAC         TD_VC_001_SINO,
@ISST_ELIM_INAC         TD_VC_001_SINO,
@INME_DESA_INAC         TD_IN_001,
@INME_ELIM_INAC         TD_IN_001

WITH ENCRYPTION 

As 
  Declare 
  --  Variables de Cursor --
  @CSCO_USUA_INAC      	TD_VC_008,
  @CSCO_USUA_ELIM      	TD_VC_008

  If @ISST_DESA_INAC = 'S'
  Begin

  ---- Desactivación de Usuarios con mas de @INME_DESA_INAC dias de inactividad   
    Update TMUSUA
    Set    ST_ACTI = 'N'
    Where  DateDiff(dd,FE_ULTI_CONE,Getdate()) > @INME_DESA_INAC

    If @@error != 0
    Begin
      Rollback tran OF_TMUSUA_U02
      Return
    End

  End

  If @ISST_ELIM_INAC = 'S'
  Begin
  ---- Eliminacion de Usuarios con mas de @INME_ELIM_INAC meses de inactividad   
  Declare  CU_TMUSUA_U02_1
  Cursor   For
  Select   CO_USUA
  From     TMUSUA
  Where    DateDiff(mm,FE_ULTI_CONE,Getdate()) > @INME_ELIM_INAC 

  Open  CU_TMUSUA_U02_1
  Fetch CU_TMUSUA_U02_1 
  Into  @CSCO_USUA_ELIM   

  While @@fetch_status = 0
  Begin 

    
    Delete TDSOLI_APRO
    Where CO_USUA = @CSCO_USUA_ELIM
    If @@error != 0
    Begin
      Rollback tran OF_TMUSUA_U02
      Deallocate CU_TMUSUA_U02_1
      Return
    End

    Delete TRGRUP_USUA
    Where CO_USUA = @CSCO_USUA_ELIM
    If @@error != 0
    Begin
      Rollback tran OF_TMUSUA_U02
      Deallocate CU_TMUSUA_U02_1
      Return
    End

    Delete TRUSUA_BDAT
    Where CO_USUA = @CSCO_USUA_ELIM
    If @@error != 0
    Begin
      Rollback tran OF_TMUSUA_U02
      Deallocate CU_TMUSUA_U02_1
      Return
    End

    Delete TTPARA_PRUS
    Where CO_USUA = @CSCO_USUA_ELIM
    If @@error != 0
    Begin
      Rollback tran OF_TMUSUA_U02
      Deallocate CU_TMUSUA_U02_1
      Return
    End

    Delete TMUSUA
    Where CO_USUA = @CSCO_USUA_ELIM
    If @@error != 0
    Begin
      Rollback tran OF_TMUSUA_U02
      Deallocate CU_TMUSUA_U02_1
      Return
    End


    If @@error != 0
    Begin
      Rollback tran OF_TMUSUA_U02
      Deallocate CU_TMUSUA_U02_1
      Return
    End
    Fetch CU_TMUSUA_U02_1 
    Into  @CSCO_USUA_ELIM
  End
  Close CU_TMUSUA_U02_1
  Deallocate CU_TMUSUA_U02_1

  End

/*------------------------------ Fin -------------------------------*/
GO
